package main

import (
	"log"
	"net/rpc"
)

type (
	GetUserReg struct {
		ID string `json:"id"`
	}
	GetUserRes struct {
		ID       int    `json:"id"`
		Username string `json:"username"`
		Password string `json:"password"`
	}
)

func main() {
	client, err := rpc.Dial("tcp", "localhost:8000")
	if err != nil {
		log.Fatal("建立连接失败", err)
	}
	defer client.Close()

	var (
		reg = GetUserReg{ID: "2"}
		res GetUserRes
	)

	// 客户端调用请求，像调用本地方法一样，调用UserServer服务的GetUser方法————UserServer.GetUser
	err = client.Call("UserServer.GetUser", reg, &res)
	if err != nil {
		log.Println("请求失败", err)
	}

	log.Println(res)

}
